/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package net.etrs.formathlon.vue.jsf.form.admin;

import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import net.etrs.formathlon.entity.infrastructure.Salle;
import net.etrs.formathlon.persistance.infrastructure.SalleFacade;
import net.etrs.formathlon.vue.jsf.utils.CUDBean;

/**
 * ManageBean JSF pour les pages traitant de l'administration des salles.
 * @author OPIF
 */
@ManagedBean
@ViewScoped
public class AdminSalleBean extends CUDBean <Salle, SalleFacade> {
    
    @EJB
    private SalleFacade facade;
    
    @PostConstruct
    @Override
    protected void init(){
        super.init();
    }
    
    @Override
    public boolean validerSuppression() {
        //Pour valider, il faut que la salle ne soit pas utilisée.
        if (!facade.salleUtiliser()) {
            return super.validerSuppression();
        }
        else{
            displayAlert("Cette salle est utilisée. Vous ne pouvez pas la supprimer.");
            return false;
        }
    }

    /**
     * @return the salle
     */
    public Salle getSalle() {
        return getEntite();
    }

    /**
     * @param salle the salle to set
     */
    public void setSalle(Salle salle) {
        setEntite(salle);
    }

    /**
     * @return the listSalle
     */
    public List<Salle> getListSalle() {
        return getListEntite();
    }

    /**
     * @param listSalle the listSalle to set
     */
    public void setListSalle(List<Salle> listSalle) {
        setListEntite(listSalle);
    }

    @Override
    protected SalleFacade getFacade() {
        return facade;
    }
    
    
}
